package com.bestcem.xm.ticket.controller.param;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author gy.liu
 * @version 1.0
 * @date 2021/8/19 21:06
 **/
@NoArgsConstructor
@AllArgsConstructor
@Data
public class QueryTicketParam {

    /**
     * 页码
     */
    @JsonProperty(value = "page")
    private Integer page;

    /**
     * 时间类型
     */
    @JsonProperty(value = "dateType")
    private Integer dateType;

    /**
     * 开始时间
     */
    @JsonProperty(value = "startTime")
    private String startTime;

    /**
     * 结束时间
     */
    @JsonProperty(value = "endTime")
    private String endTime;

    /**
     * 每页数量
     */
    @JsonProperty(value = "rowsPerPage")
    private Integer rowsPerPage;

    /**
     * 按照哪个字段排序
     */
    @JsonProperty(value = "sortBy")
    private String sortBy;

    /**
     * 排序方式
     */
    @JsonProperty(value = "descending")
    private String descending;

    /**
     * 查询条件
     */
    @JsonProperty(value = "search")
    private List<String> search;

    /**
     * 问卷id
     */
    @JsonProperty(value = "surveyId")
    private String surveyId;

    /**
     * 当前工单要进行的流程 ObjectId 数组
     */
    @JsonProperty(value = "followRoleId")
    private List<String> followRoleId;

    /**
     * 审核角色
     */
    @JsonProperty(value = "auditRoleId")
    private String auditRoleId;

    /**
     * 当前跟随节点
     */
    @JsonProperty(value = "currentFollowNode")
    private List<Integer> currentFollowNode;

    /**
     * 跟随节点数量
     */
    @JsonProperty(value = "currentFollowNode")
    private List<Integer> followNodeCount;

    /**
     * 当前审核节点
     */
    @JsonProperty(value = "currentAuditNode")
    private List<Integer> currentAuditNode;

    /**
     * 审核节点数量
     */
    @JsonProperty(value = "auditNodeCount")
    private List<Integer> auditNodeCount;

    /**
     * 预警id
     */
    @JsonProperty(value = "alertId")
    private List<String> alertId;

    /**
     * 预警规则id
     */
    @JsonProperty(value = "alertRuleIds")
    private List<String> alertRuleIds;

    /**
     * 预警规则id
     */
    @JsonProperty(value = "resId")
    private List<Integer> resId;

    /**
     * 状态
     */
    @JsonProperty(value = "status")
    private Integer status;

    /**
     * 工单配置id
     */
    @JsonProperty(value = "ticketConfigId")
    private List<String> ticketConfigId;

    /**
     * 工单记录id
     */
    @JsonProperty(value = "ticketRecordIds")
    private List<String> ticketRecordIds;

    /**
     * 工单流程列表
     */
    @JsonProperty(value = "ticketFlowList")
    private List<String> ticketFlowList;

    /**
     * 预警0还是工单1
     */
    @JsonProperty(value = "ttype")
    private Integer tType;

    /**
     * 全部记录all 我待处理的undeal 我已处理的deal
     */
    @JsonProperty(value = "scope")
    private String scope;

    /**
     * 机构号
     */
    @JsonProperty(value = "orgId")
    private String orgId;

    /**
     * 用户id
     */
    @JsonProperty(value = "userId")
    private String userId;
}
